﻿using Nest;
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;

namespace ES.Client.Filter
{
    public class InvalidBuilder<T> : BaseFilter<T>, IFilterBuilder where T : class
    {
        internal InvalidBuilder(string index, string docType)
        {
            this.Index = index;
            this.DocType = docType;
        }

        public IEnumerable<QueryContainer> EQ<TValue>(string field, TValue value)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> NE<TValue>(string field, TValue value)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> GT<TValue>(string field, TValue value)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> GTE<TValue>(string field, TValue value)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> LT<TValue>(string field, TValue value)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> LTE<TValue>(string field, TValue value)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> Exists(string field)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> IsNotNullAndEmpty(string field)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> Missing(string field)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> IsNullOrEmpty(string field)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> Prefix(string field, string query)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> Like(string field, string keyword)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> Regex(string field, string regex)
        {
            return new List<QueryContainer>();
        }

        public IEnumerable<QueryContainer> IN<TValue>(string field, IEnumerable<TValue> values)
        {
            return new List<QueryContainer>();
        }
    }
}
